package com.linkhub.oms.admin.modules.user.accountrecharge.domain.param;

import com.linkhub.oms.admin.modules.user.attachment.domain.vo.UserAttachmentVO;
import com.linkhub.oms.admin.modules.user.domain.param.BaseUserParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 用户充值记录新增实体
 * </p>
 *
 * @author Frank
 * @since 2024-05-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "UserRechargeRecordAddParam", description = "UserRechargeRecordAddParam")
public class UserRechargeRecordAddParam extends BaseUserParam implements Serializable {

    @ApiModelProperty(value = "用户id")
    private String merchantUserId;

    @ApiModelProperty(value = "付款卡_账户名")
    @NotBlank()
    private String payAccount;

    @ApiModelProperty(value = "付款卡_银行名称")
    private String payBankName;

    @ApiModelProperty(value = "付款卡_银行卡号")
    @NotBlank()
    private String payCardNumber;

    @ApiModelProperty(value = "转账币种")
    private String transferCurrencyType;

    @ApiModelProperty(value = "转账金额")
    @NotBlank()
    private String transferAmount;

    @ApiModelProperty(value = "转账日期")
    private LocalDate transferDate;

    @ApiModelProperty(value = "转账银行流水号")
    private String transferBankStatement;

    @ApiModelProperty(value = "充值提交时的汇率,币种同转账")
    private String transferExchangeRate;

    @ApiModelProperty(value = "收款卡_银行名称")
    private String receivedBankName;

    @ApiModelProperty(value = "收款卡_银行卡号")
    private String receivedCardNumber;

    @ApiModelProperty(value = "附件列表")
    private List<UserAttachmentVO> attachmentList;
}
